package com.jin.jpa.wrapper.util;

import org.springframework.core.ResolvableType;

public abstract class ClassUtils {

    /**
     * @param clazz 被檢查的類（必須是已確定泛型的類）
     * @return 獲得給定類的泛型
     */
    public static Class<?> getGeneric(Class<?> clazz){
        return getGeneric(clazz, 0);
    }

    /**
     * @param clazz 被檢查的類（必須是已確定泛型的類）
     * @param index 泛型的索引號，就是第幾個泛型
     * @return 獲得給定類的泛型
     */
    public static Class<?> getGeneric(Class<?> clazz, int index){
        return ResolvableType.forClass(clazz).getSuperType().getGeneric(index).resolve();
    }


}
